Self-adapting method of controlling the mixture ratio of an internal combustion engine injection system

ABSTRACT

A self-adapting method of controlling the mixture ratio of an injection system, of an internal combustion engine. In each operating state of the engine and for each injector, the method determines a nominal quantity of fuel to be injected as a function of a number of engine parameters and operating conditions, an operating parameter as a function of a signal representing exhaust gas composition and of a proportional-integral regulating function and hot and cold correction coefficients indicating a correction to be made to the nominal quantity of fuel to take into account the effect on injection of different engines and different injection systems during hot and cold engine operation.

The present invention relates to a self-adapting method of controllingthe mixture ratio of an internal combustion engine injection system.

BACKGROUND OF THE INVENTION

As is known, the injection systems of many currently marketed vehiclesfeature a mixture ratio control system based on a self-adapting strategydesigned to ensure supply of the amount of fuel required to obtain anexhaust ratio equal to an objective ratio, to compensate for anyproduction differences causing the engine and injection system todeviate from the nominal on which the settings are based, to compensatefor in-life component drift and ageing which might affect the controlsystem, and to supply useful information concerning the state of thecomponents with a view to diagnosing the injection system.

Currently used self-adapting algorithms are based on the assumption thatany differences or malfunction which might affect correct preparation ofthe air/fuel mixture can be traced to an error in the injector actuationcharacteristic defined by the relationship between injection time andthe amount of fuel injected.

In the injection central control unit, the above characteristic isapproximated by a line defined by two parameters: gain and offset, i.e.by the slope and initial value with respect to a predetermined referencesystem.

According to the above self-adapting algorithms, errors due toproduction variations and ageing can be traced to errors in estimatingthe set gain and offset.

The adaptive gain and offset parameters are applied in all engineoperating conditions, except for start-up, and are only updated insteady operating conditions of the engine.

The two adaptive parameters are not updated simultaneously, butaccording to a precise operating sequence. That is, keeping the gainvalue fixed, offset updating is enabled within a particularstabilized-engine window close to the idling condition; once offset isupdated, the gain value is corrected in another stabilized-engine windowcorresponding to a high speed and load situation; and the sequence isrepeated to obtain a real value by successive approximations.

Though widely used in the automotive industry, the above strategy hasthe major drawback of being intrinsically very slow in adapting.

SUMMARY OF THE INVENTION

It is an object of the present invention to provide a self-adaptingmixture ratio control method designed to eliminate the aforementioneddrawbacks.

According to the present invention, there is provided a self-adaptingmethod of controlling the mixture ratio of an injection system, of aninternal combustion engine, comprising a number of injectors, each forinjecting a respective operating quantity of fuel at each engine cycle;and a stoichiometric composition sensor generating a composition signalrelated to the stoichiometric composition of the exhaust gases producedby said engine; in each operating state of the engine and for each saidinjector, said method comprising the steps of:

a) determining a nominal quantity of fuel to be injected;

b) determining an operating parameter as a function of said compositionsignal and of a proportional-integral regulating function; characterizedby also comprising the steps of:

c) determining a current hot correction coefficient indicating acorrection to be made to said nominal quantity of fuel to take intoaccount the effect on injection of differences of different engines andof said injection systems thereof upon the engine reaching normaloperating temperatures; and

d) determining said operating quantity of fuel to be injected as afunction of said nominal quantity, of said operating parameter, and ofsaid current hot correction coefficient.

BRIEF DESCRIPTION OF THE DRAWINGS

A preferred, non-limiting embodiment of the present invention will bedescribed by way of example with reference to the accompanying drawings,in which:

FIG. 1 shows, schematically, a mixture ratio control system inaccordance with the present invention;

FIGS. 2a, 2 b and 3a, 3 b show engine state matrixes;

FIGS. 4 and 5 show operating block diagrams of the control methodaccording to the present invention;

FIG. 6 shows an update propagation matrix;

FIG. 7 shows a state diagram defining a criterion for updating an updatestate map.

DETAILED DESCRIPTION OF THE INVENTION

Number 1 in FIG. 1 indicates as a whole a system for controlling themixture ratio of an injection system 2 of an internal combustion engine4.

Engine 4 comprises an exhaust manifold 6 along which are fitted acatalytic preconverter 8, a catalytic converter 10 located downstreamfrom catalytic preconverter 8, and an exhaust gas stoichiometriccomposition sensor 12 located upstream from catalytic preconverter 8 andgenerating a composition signal V related to the stoichiometriccomposition of the exhaust gases.

The stoichiometric composition sensor 12 may be an ON/OFF so-calledLAMBDA sensor, in which case, a digital two-level composition signal Vis generated indicating a rich or lean stoichiometric composition of theexhaust gases; or a proportional so-called UEGO sensor, in which case,an analog composition signal V is generated indicating the pointstoichiometric composition of the exhaust gases.

Engine 4 also comprises an air intake manifold 14; and an exhaust gasrecirculation system 16—hereinafter referred to as EGR system and shownschematically by a conduit connecting exhaust and intake manifolds 6,14—for feeding part of the exhaust gases in exhaust manifold 6 back intointake manifold 14 to reduce the combustion temperature and theformation of nitric oxides (NOx).

In the example shown, injection system 2 is a direct injection type, andcomprises a number of injectors 18, each relative to a respectivecylinder 19 of engine 4, and each for injecting, at each engine cycle, arespective quantity of fuel into the relative cylinder 19.

What is said concerning injection system 2 obviously also applies to anindirect injection system, in which the injectors 18 are arranged alongintake manifold 14.

Control system 1 also comprises a central control unit 20 for receivinga number of engine parameters, measured on engine 4 by means ofappropriate sensors (not shown), and a number of operating parameters,and for generating, at each engine cycle, the operating quantity QF offuel to be injected by each injector 18 into the relative cylinder 19 ateach engine cycle.

More specifically, central control unit 20 receives: the speed N ofengine 4; the load L of engine 4; the stoichiometric ratio (A/F)_(ST)for injection; nominal air flow AN; the air temperature TA in intakemanifold 14; the cooling water temperature TH2O; atmospheric pressurePA; the pressure PC in intake manifold 14; the operating state S1 of EGRsystem 16 (on/off); and the operating state S2 of the ratio controlperformed by stoichiometric composition sensor 12 (open-loop/closed-loopcontrol).

Operating state S1 of EGR system 16 and the ratio control state S2 maybe determined, for example, by reading the logic states of respectiveappropriately memorized logic flags.

The operating quantity QF of fuel to be injected into each cylinder ofengine 4 at each engine cycle is supplied each time to injection system2 to effect injection using an injector actuation characteristic havingfixed gain and offset parameters.

Central control unit 20—of which only the parts essential to a clearunderstanding of the present invention are shown—comprises a signalprocessing block 22 connected at the input to stoichiometric compositionsensor 12, and generating the exhaust ratio (A/F)_(SC) at each enginecycle.

More specifically, in signal processing block 22 is memorized thecharacteristic of stoichiometric composition sensor 12 (LAMBDA or UEGO)by which the (A/F)_(SC) values are determined as a function of theamplitude of composition signal V.

Central control unit 20 also comprises a proportional-integral controlblock 24—known and therefore not described in detail—for receiving the(A/F)_(SC) values generated by the signal processing block, and forgenerating, at each engine cycle, the value of a control parameter KO2used for controlling the ratio as described in detail later on.

More specifically, the values of control parameter KO2 supplied bycontrol block 24 vary as a function of the composition signal suppliedby stoichiometric composition sensor 12, and oscillate about a meanvalue of about one, if engine 4 and injection system 2 have nodeviations, and about a mean value of other than one, if engine 4 andinjection system 2 do have deviations.

Central control unit 20 also comprises a first calculating block 26,which receives atmospheric pressure PA, the air temperature TA in intakemanifold 14, cooling water temperature TH2O, the speed N of engine 4 andthe pressure PC in intake manifold 14, and which generates, at eachengine cycle, an intake efficiency ηA indicating, as is known, thepotential capacity of intake manifold 14 to fill the combustion chamberof each cylinder with a fresh charge.

More specifically, in first calculating block 26 is memorized anelectronic map containing a respective intake efficiency value ηA foreach combination of values PA, TA, TH2O, N and PC.

Central control unit 20 also comprises a second calculating block 28,which receives the speed N of engine 4 and intake efficiency ηN, andwhich generates, at each engine cycle, an objective value λ_(OB) equalto the ratio between the objective ratio (A/F)_(OB) desired forinjection and the stoichiometric ratio (A/F)_(ST), i.e.$\lambda_{OB} = \frac{\left( {A/F} \right)_{OB}}{\left( {A/F} \right)_{ST}}$

More specifically, in second calculating block 28 is memorized anelectronic map containing a respective objective value λ_(OB) for eachcombination of the speed N and intake efficiency ηA values.

Central control unit 20 also comprises a third calculating block 29,which receives intake efficiency ηA, speed N and nominal air flow AN,and which generates, at each engine cycle, a respective air intake AS.

Central control unit 20 also comprises a multiplying block 30, whichreceives objective value λ_(OB) and a stoichiometric ratio (A/F)_(ST),typically equal to 14.56, and which generates, at each engine cycle,objective ratio (A/F)_(OB) according to the equation:

(A/F) _(OB)=λ_(OB)·(A/F)_(ST)

Central control unit 20 also comprises a dividing block 32, whichreceives objective ratio (A/F)_(OB) and air intake AS, and whichgenerates, at each engine cycle, a nominal quantity QA of fuel to beinjected according to the equation:${QA} = \frac{AS}{\left( {A/F} \right)_{OB}}$

Central control unit 20 also comprises a third calculating block 34,which receives the nominal quantity QA of fuel to be injected, speed N,load L and the cooling water temperature TH2O of engine 4, and whichgenerates, at each engine cycle, a corrected quantity QB of fuel to beinjected according to the equation:

QB=QA·KCO·KFO

where KCO is a first correction coefficient, hereinafter referred to ascurrent hot correction coefficient, which is a function of the operatingstate of engine 4 defined by speed N and load L of engine 4; and KFO isa second correction coefficient, hereinafter referred to as current coldcorrection coefficient, which is a function of cooling water temperatureTH2O and pressure PC in intake manifold 14.

More specifically, third calculating block 34 performs a doublecorrection of the nominal quantity QA of fuel to be injected usingcurrent hot correction coefficient KCO, which provides for hotcorrection of nominal fuel quantity QA, i.e. with engine 4 at normaloperating temperatures, to take into account the effect on injection ofdeviations of engine 4 and injection system 2, and using current coldcorrection coefficient KFO, which provides for cold correction ofnominal fuel quantity QA, i.e. before engine 4 reaches normal operatingtemperatures, to take into account the effect on injection of lowtemperatures, at which engine 4 is difficult to calibrate.

More specifically, third calculating block 34 cooperates with a memoryblock 36 in which are memorized five electronic maps: two containing thevalues of current hot and cold correction coefficients KCO and KFO; andthree containing information used by central control unit 20 to updatecorrection coefficients KCO and KFO, as explained in detail later on.

Central control unit 20 also comprises a fourth calculating block 38,which receives the corrected quantity QB of fuel to be injected, andwhich generates, at each engine cycle, an operating quantity QF of fuelto be injected according to the equation:

QF=QB·KO 2=QA·KCO·KFO·KO 2

where KO2 is the control parameter supplied by proportional-integralcontrol block 24.

More specifically, fourth calculating block 38 performs a furthercorrection of the nominal quantity QA of fuel to be injected usingcontrol parameter KO2, which takes into account the exhaust ratioinformation supplied by stoichiometric composition sensor 12.

The operating quantity QF of fuel to be injected is then supplied toinjection system 2, which uses this value to determine the injectiontime of the injectors as a function of the injector actuationcharacteristic, and so inject the operating quantity QF of fuel intoeach cylinder.

Unlike known control systems, in which central control unit 20 onlydetermines the operating quantity QF of fuel to be injected by eachinjector 18 at each engine cycle as a function of nominal quantity QAand operating parameter KO2, according to a first aspect of the presentinvention, central control unit 20 therefore also determines theoperating quantity QF of fuel to be injected as a function of currenthot correction coefficient KCO and current cold correction coefficientKFO.

As stated, memory block 36 stores five electronic maps, namely:

a first electronic map—hereinafter referred to as hot correction map40—containing a respective current hot correction coefficient KCO foreach operating state of engine 4 defined by a respective pair of speed Nand load L values;

a second electronic map—hereinafter referred to as cold correction map42—containing a respective current cold correction coefficient KFO foreach operating state of engine 4 defined by a respective pair of valuesof cooling water temperature TH2O and pressure PC in intake manifold 14;

a third electronic map—hereinafter referred to as engine state map44—containing a respective engine state flag Is for each operating stateof engine 4 defined by a respective pair of speed N and load L values;

a fourth electronic map—hereinafter referred to as update state map46—containing a respective update state flag IA for each operating stateof engine 4 defined by a respective pair of speed N and load L values;and

a fifth electronic map—hereinafter referred to as transition map48—containing a number of transition coefficients KT as a function ofengine state flags IS, as described in detail later on.

More specifically, the above electronic maps are defined by respectivetwo-dimensional matrixes of the same dimensions (i.e. having the samenumber of rows and columns, and therefore the same number of boxes), andwherein each box is identified by a respective pair of input parametervalues (speed N and load L for the first, third and fourth map, andcooling water temperature TH2O and pressure PC for the second) andrelates to a respective value of the parameter memorized in it.

It should be pointed out that the values relating to boxes in the sameposition (i.e. in the same row and column) in hot correction map 40,cold correction map 42, engine state map 44 and update state map 46 arerelated to one another by relating to the same engine state.

More specifically, ink hot correction map 40, all the current hotcorrection coefficients KCO are set to a unit value at the initialcalibration stage of engine 4, seeing as no nominal fuel injectionquantity QA correction relative to deviations of the engine 4 andinjection 2 parameters is requited initially.

In cold correction map 42, on the other hand, the current coldcorrection coefficients KFO are set to a unit value for cooling watertemperature TH2O values above a predetermined threshold value, e.g. 60°,seeing as no correction relative to the operating temperature of engine4 is required once engine 4 has reached normal operating temperatures.

In engine state map 44, each engine state flag IS may assume a number ofvalues, each representing a respective operating mode of engine 4 in therelative engine state. More specifically, each state flag IS may assumethe following values:

IS=0 if engine 4 is in operating states which are only reached in sharptransients and with the EGR system off;

IS=1 if engine 4 is in normal operating states with the EGR system off;

IS=2 if engine 4 is in the idling state with the EGR system off;

IS=3 if engine 4 is in motoring-over states with the EGR system off;

IS=4 if engine 4 is in full-load operating states with the EGR systemoff;

IS=5 if engine 4 is in operating states with open-loop ratio control;

IS=10 if engine 4 is in operating states which are only reached in sharptransients and with the EGR system on;

IS=11 if engine 4 is in normal operating states with the EGR system on;

IS=13 if engine 4 is in motoring-over states with the EGR system on;

IS=14 if engine 4 is in full-load operating states with the EGR systemon.

FIGS. 2a and 2 b show the engine state maps for a UEGO sensor with theEGR system on and off respectively; and FIGS. 3a and 3 b show the sameengine state maps for a LAMBDA sensor.

As shown in the maps, the state flags IS memorized in a given enginestate map do not assume all the above values indifferently, but onlygiven subgroups of values depending on the operating state of EGR system16 and the ratio control state.

As shown in the above Figures, the groups of engine state flags with thesame values define in the matrixes respective zones which, thoughgeometrically close, are physically very far apart as regards operationof the engine, and each of which indicates a respective operating modeof engine 4, which is used to update hot and cold correction maps 40, 42as explained in detail later on.

As can also be seen, the IS=5 value is only present in the engine statemap 44 relating to a LAMBDA sensor.

The type of engine state map 44 used to update hot and cold correctionmaps 40, 42 is selected from those in FIGS. 2a and 2 b, or from those inFIGS. 3a and 3 b, by central control unit 20 on the basis of the logicvalue of flag S1 indicating the operating state (on/off) of EGR system16, which is defined at the calibration stage of engine 4.

The logic value of flag S2 indicating the ratio control operating state(open/closed loop), on the other hand, is used by the central controlunit to identify the IS=5 zone in the LAMBDA sensor engine state map 44.

In update state map 46, each update state flag IA may assume a number ofvalues, each representing the update state of a corresponding hotcorrection coefficient, i.e. the hot correction coefficient relating tothe same engine state. More specifically, each update state flag IA mayassume values IA=0, IA=1, IA=2, IA=3 and IA=4 on the basis of the updatecriterion described later on with reference to the state diagram in FIG.6.

It should be pointed out that the values of the boxes in hot correctionmap 40, engine state map 44 and update state map 46 are so related thateach current hot correction coefficient value KCO is related to acorresponding engine state flag IS and a corresponding update state flagIA.

Transition map 48, on the other hand, contains a number of transitioncoefficients KT(i,j), each of which, as described in detail later on, isused to propagate an update from a first hot correction coefficient witha first state flag IS, to a second hot correction coefficient with asecond state flag IS. For which reason, each transition coefficient ishereinafter indicated by the letters KT followed by two numbersseparated by a comma, enclosed in brackets, and indicating said firstand second state flag IS.

For example, transition coefficient KT(3,2) propagates the update of ahot correction coefficient with a state flag IS of value 3 to a hotcorrection coefficient with a state flag IS of value 2.

According to a further aspect of the present invention, central controlunit 20 implements the operations described below with reference to theFIG. 4 and 5 flow charts to continually update hot and cold correctionmaps 40, 42 using engine state map 44, update state map 46 andtransition map 48 as described in detail below.

As shown in FIG. 4, to begin with, in a block 100, third calculatingblock 34 determines the existence of engine 4 and injection system 2operating conditions permitting updating of the hot and cold correctionmaps.

More specifically, the operating conditions of engine 4 and injectionsystem 2 permitting updating of the maps are as follows: the map updatefunction has been enabled at the calibration stage; third calculatingblock 34 is enabled for updating; there are no faults in control system1; start-up of engine 4 is terminated; feedback injection control usingstoichiometric composition sensor 12 is active; and the following updatestability conditions are determined: the system is in stabilized oridling engine mode, i.e. air supply A is constant and engine 4 is atsteady speed; and stoichiometric composition sensor 12 is operating,i.e. if a LAMBDA sensor is used, n (calibration) switchings of thesensor have occurred, or, if a UEGO sensor is used, the differencebetween the sensor-detected A/F value and objective value (A/F)_(OB) isbelow a calibration threshold.

The existence of update enabling conditions may be determined, forexample, by reading the logic states of relevant logic flags.

If the operating conditions of engine 4 and injection system 2 permitupdating of the maps (YES output of block 100), block 100 goes on to ablock 105. Conversely, if the operating conditions of engine 4 andinjection system 2 do not permit updating of the maps (NO output ofblock 100), block 100 goes back to its own input pending suchconditions.

Block 105 determines whether the elapsed time t, since the existence ofoperating conditions of engine 4 and injection system 2 permittingupdating of the maps, is greater than or equal to a predeterminedmaximum time tMAX, e.g. six seconds.

If elapsed time t is greater than or equal to maximum time tMAX (YESoutput of block 105), block 105 goes on to a block 120. Conversely, ifelapsed time t is less than maximum time tMAX (NO output of block 105),block 105 goes on to a block 110.

In block 110, third calculating block 34 determines an operating valueVM, equal to the mean value of the control parameter KO2 valuesgenerated by control block 24 since the above conditions weredetermined, using a known low-pass numeric filter not described indetail. Obviously, the first time block 110 is reached, operating valueVM equals the first calculated value of control parameter KO2.

Block 110 then goes back to block 100 to determine the existence ofengine 4 and injection system 2 operating conditions permitting updatingof the maps.

Central control unit 20 therefore repeatedly calculates a new operatingvalue VM as a function of the control parameter KO2 values generated bycontrol block 24 within a time window of a duration TMAX from theinstant in which the above operating conditions are determined.

If, within the time window in which operating value VM is calculated,the operating conditions of engine 4 and injection system 2 permittingupdating of the maps cease to exist, e.g. because engine 4 is no longerat steady speed (NO output of block 100), block 100, since thecalculated operating value VM is not reliable, goes back to its owninput pending the above operating conditions to calculate a reliableoperating value VM.

In block 120, which is reached when the above operating conditions existfor at least maximum time tMAX and so permit calculation of a reliableoperating value VM, third calculating block 34 determines whether|1−VM|>R, where R is a predetermined threshold value, i.e. determineswhether engine 4 and injection system 2 have dispersions calling forupdating of the hot or cold correction map 40, 42.

As stated, in fact, the values of control parameter KO2 oscillate abouta mean value of about 1, if engine 4 and injection system 2 have nodispersions, and about a mean value of other than 1, if engine 4 andinjection system 2 do have dispersions.

If |1−VM|>R (YES output of block 120), this means hot or cold correctionmap 40, 42 needs updating, and block 120 goes on to a block 130.Conversely, if |1−VM|<R (NO output of block 120), this means hot or coldcorrection map 40, 42 does not need updating, and block 120 goes on to ablock 125, which resets operating value VM and then goes back to block100.

In block 130, third calculating block 34 determines whether the coolingwater temperature TH2O is greater than or equal to a predeterminedthreshold value Tth, e.g. 60°.

If cooling water temperature TH2O is greater than threshold value Tth(YES output of block 130), block 130 goes on to a block 150. Conversely,if cooling water temperature TH2O is below threshold value Tth (NOoutput of block 130), block 130 goes on to a block 135.

In block 135, third calculating block 34 determines the existence of thefollowing conditions:

the engine is idling; or

the engine is at steady speed, and the update state flag IA relative tothe current engine state is IA=1.

If the above conditions exist (YES output of block 135), cold correctionmap 42 can be updated, so block 135 goes on to a block 140. Conversely,if the above conditions do not exist (NO output of block 135), updatingof cold correction map 42 is not advisable, so block 135 goes back toblock 125, which in turn goes back to block 100.

In block 140, third calculating block 34 updates and memorizes coldcorrection map 42 in memory block 36, by selecting in the map thecurrent cold correction coefficient KFO value relative to the coolingwater temperature TH2O and the pressure PC in intake manifold 14 in thecurrent engine state, and replacing it with an updated cold correctioncoefficient KFN equal to the current cold correction coefficient KFOmemorized in cold correction map 42 multiplied by the mean value VM ofthe operating parameter KO2 calculated in block 110, i.e.:

KFN=KFO·VM

The updated cold correction coefficient KFN therefore becomes thecurrent cold correction coefficient KFO used in succeeding engine cyclesto calculate the operating quantity QF of fuel to be injected.

Block 140 then goes back to block 125, which in turn goes back to block100.

In block 150, third calculating block 34 updates and memorizes hotcorrection map 40 in memory block 36, by selecting the current hotcorrection coefficient KCO relative to the speed N and load L of engine4 in the current engine cycle, and replacing it with an updated hotcorrection coefficient KFN equal to the current hot correctioncoefficient KCO memorized in hot correction map 40 multiplied by themean value VM of the operating parameter KO2 calculated in block 110,i.e.:

KFN=KCO·VM

The updated hot correction coefficient KFN therefore becomes the currenthot correction coefficient KCO used in succeeding engine cycles tocalculate the operating quantity QF of fuel to be injected.

Block 150 then goes on to a block 160, in which third calculating block.34 propagates the block 150 update to other current hot correctioncoefficients KCO having a predetermined relationship with the updatedhot correction coefficient KCN, as described in detail below withreference to the FIG. 5 flow chart.

Block 160 then goes on to a block 170, which resets value VM and thengoes back to block 100.

In the following description of the update propagation operations inFIG. 5, the following terminology is used for the sake of clarity: theterm “possible-update hot correction coefficients” and the symbol KCPrefer to current hot correction coefficients KCO initially consideredfor possible update propagation; and the term “actual-update hotcorrection coefficients” and the symbol KCE refer to possible-update hotcorrection coefficients KCP which are actually to be updated.

As shown in FIG. 5, to propagate the update, in a first block 200, thirdcalculating block 34 selects, from the current hot correctioncoefficients KCO memorized in hot correction map 40, firstpossible-update hot correction coefficients KCP1 adjacent to the updatedhot correction coefficient KCN, i.e. current hot correction coefficientsKCO at a distance of one from the updated hot correction coefficientKCN, and defining a first frame of current hot correction coefficientsKCO about the updated hot correction coefficient KCN.

In block 200, third calculating block 34 selects, from the current hotcorrection coefficients KCO memorized in hot correction map 40, secondpossible-update hot correction coefficients KCP2 adjacent to the firstpossible-update hot correction coefficients KCP1, i.e. current hotcorrection coefficients KCO at a distance of two from the updated hotcorrection coefficient KCN, and defining a second frame of current hotcorrection coefficients KCO about the first frame.

FIG. 6 shows, with different crosshatching and the respective symbolsindicated above, an updated hot correction coefficient KCN; the firstframe about the updated hot correction coefficient KCN and defined bythe adjacent first possible-update hot correction coefficients KCP1; andthe second frame about the updated hot correction coefficient KCN anddefined by the second possible-update hot correction coefficients KCP2adjacent to the first possible-update hot correction coefficients KCP1.

Block 200 then goes on to a block 210, in which third calculating block34 determines, for the updated hot correction coefficient KCN and foreach of the possible-update hot correction coefficients KCP1, KCP2, arespective engine state flat IS in engine state map 44, and a respectiveupdate state flag IA in update state map 46.

In block 210, third calculating block 34 also determines, in transitionmap 48, the transition coefficients KT to use for propagating the updateof updated hot correction coefficient KCN to possible-update hotcorrection coefficients KCP1, KCP2, i.e. the transition coefficients KTwhich each have, as engine state flags IS, the engine state flagrelative to the updated hot correction coefficient KCN, and the enginestate flag relative to the respective possible-update hot correctioncoefficient KCP1, KCP2.

Block 210 then goes on to a block 220, in which third calculating block34 calculates, for each of the possible-update hot correctioncoefficient KCP1, KCP2 having engine state flag IS values of less thanfive, three propagation coefficients KPN, KPL, KPO for respectivelypropagating the update to possible-update shot correction coefficientsKCP1, KCP2 in the same row as updated hot correction coefficient KCN, topossible-update hot correction coefficients KCP1, KCP2 in the samecolumn as updated hot correction coefficient KCN, and to possible-updatehot correction coefficients KCP1, KCP2 arranged obliquely with respectto updated hot correction coefficient KCN.

More specifically, for each possible-update hot correction coefficientKCP1, KCP2 in the same row as updated hot correction coefficient KCN$\begin{matrix}\left\{ \begin{matrix}{{{KPN}\left( {i,j} \right)} = {{K1} \cdot {{KT}\left( {i,j} \right)} \cdot \frac{Nm}{Nd}}} \\{{Nm} = \frac{{N\quad \max} - {N\quad \min}}{n - 1}} \\{{Nd} = {{Nc} - {N\quad p}}}\end{matrix} \right. & \left. 1 \right)\end{matrix}$

where KPN(i,j) represents the propagation coefficient between theupdated hot correction coefficient KCN having an engine state flag IS ofvalue “i”, and the possible-update hot correction coefficient KCP1, KCP2having an engine state flag IS of value “j”; KT(i,j) is the transitioncoefficient between updated hot correction coefficient KCN andpossible-update hot correction coefficient KCP1, KCP2; K1 is a firstproportion coefficient memorized in third calculating block 34; n is thenumber of rows and columns in the matrix defining hot correction map 40;Nmax is the maximum engine speed in hot correction map 40; Nmin is theminimum engine speed in hot correction map 40; Nc is the engine speedrelative to updated hot correction coefficient KCN; Np is the enginespeed relative to possible-update hot correction coefficient KCP1, KCP2;Nd is the actual distance, in engine speed, between updated hotcorrection coefficient KCN and possible-update hot correctioncoefficient KCP1, KCP2; and Nm is the mean distance, in engine speed,between the current hot correction coefficients KCO memorized in hotcorrection map 40.

For each possible-update hot correction coefficient KCP1, KCP2 in thesame column as updated hot correction coefficient KCN: $\begin{matrix}\left\{ \begin{matrix}{{{KPL}\left( {i,j} \right)} = {{K2} \cdot {{KT}\left( {i,j} \right)} \cdot \frac{Lm}{Ld}}} \\{{Lm} = \frac{{L\quad \max} - {L\quad \min}}{n - 1}} \\{{Ld} = {{Lc} - {Lp}}}\end{matrix} \right. & \left. 2 \right)\end{matrix}$

where KPL(i,j) represents the propagation coefficient between theupdated hot correction coefficient KCN having an engine state flag IS ofvalue “i”, and the possible-update hot correction coefficient KCP1, KCP2having an engine state flag IS of value “j”; KT(i,j) is the transitioncoefficient between updated hot correction coefficient KCN andpossible-update hot correction coefficient KCP1, KCP2; K2 is a secondproportion coefficient memorized in third calculating block 34; n is thenumber of rows and columns in the matrix defining hot correction map 40;Lmax is the maximum load in hot correction map 40; Lmin is the minimumload in hot correction map 40; Lc is the load relative to updated hotcorrection coefficient KCN; Lp is the load relative to possible-updatehot correction coefficient KCP₁, KCP2; Ld is the actual distance, inengine 4 load values, between updated hot correction coefficient KCN andpossible-update hot correction coefficient -KCP1, KCP2; and Lm is themean distance, in engine 4 load values, between the current hotcorrection coefficients KCO memorized in hot correction map 40.

For each of the possible-update hot correction coefficients KCP1, KCP2arranged obliquely with respect to updated hot correction coefficientKCN: $\begin{matrix}\left\{ \begin{matrix}{{{KPO}\left( {i,j} \right)} = {{K3} \cdot {{KT}\left( {i,j} \right)} \cdot \frac{Dm}{Dd}}} \\{{Nd} = {{Nc} - {N\quad p}}} \\{{Ld} = {{Lc} - {Lp}}} \\{{Dd} = {{\max \left( {{Nd},{Ld}} \right)} \cdot \sqrt{2}}} \\{{Dm} = \frac{{\left( {N,L} \right)\max} - {\left( {L,N} \right)\min}}{n - 1}}\end{matrix} \right. & \left. 3 \right)\end{matrix}$

where KPO(i,j) represents the propagation coefficient between theupdated hot correction coefficient KCN having an engine state flag IS ofvalue “i”, and the possible-update hot correction coefficient KCP1, KCP2having an engine state flag IS of value “j”; KT(i,j) is the transitioncoefficient between updated hot correction coefficient KCN andpossible-update hot correction coefficient KCP1, KCP2; K3 is a thirdproportion coefficient memorized in third calculating block 34; n is thenumber of rows and columns in the matrix defining hot correction map 40;Nc is the engine speed relative to updated hot correction coefficientKCN; Np is the engine speed relative to possible-update hot correctioncoefficient KCP1, KCP2; Lc is the load relative to updated hotcorrection coefficient KCN; Lp is the load relative to possible-updatehot correction coefficient KCP1, KCP2; Nd is the actual distance, inengine speed, between updated hot correction coefficient KCN andpossible-update hot correction coefficient KCP1, KCP2; Ld is the actualdistance, in engine 4 load values, between updated hot correctioncoefficient KCN and possible-update hot correction coefficient KCP1,KCP2; and Dm is the mean distance between the current hot correctioncoefficients KCO memorized in hot correction map 40, in engine speedvalues if Nd is greater than Ld, and in engine 4 load values if Ld isgreater than Nd.

In fact, as can be seen in equation 3), Dd is proportional to the actualdistance between updated hot correction coefficient KCN andpossible-update hot correction coefficient KCP1, KCP2, expressed inengine speed or in engine 4 load values, depending on which of the twodistances is greater, so that Dm must consistently represent therespective mean distance between the current hot correction coefficientsKCO memorized in hot correction map 40.

Block 220 then goes on to a block 230, in which third calculating block34 calculates new hot correction coefficients to substitute forpossible-update hot correction coefficients KCP₁, KCP2 having enginestate flag IS values of other than five—hereinafter referred to as“substitute hot correction coefficients” KCM1 and KCM2—by multiplyingthe possible-update hot correction coefficients KCP1, KCP2 memorized inhot correction map 40 by the respective propagation coefficientscalculated in block 220.

Block 230 then goes on to a block 240, in which third calculating block34 calculates new substitute hot correction coefficients forpossible-update hot correction coefficients KCP1, KCP2 having enginestate flag IS values of five. More specifically, each of thepossible-update hot correction coefficients KCP1, KCP2 in the same rowas updated hot correction coefficient KCN and having engine state flagIS value of five is made equal to the preceding current hot correctioncoefficient KCO (preceding in the increasing engine speed direction)located in the same row and having an engine state flag IS value ofother than five.

The same also applies to possible-update hot correction coefficientsKCP1, KCP2 arranged obliquely with respect to updated hot correctioncoefficient KCN and having engine state flag IS values of five, and topossible-update hot correction coefficients KCP1, KCP2 located in thesame column as updated hot correction coefficient KCN and having enginestate flag IS values of five.

Alternatively, each of the possible-update hot correction coefficientsKCP1, KCP2 located in the same column as updated hot correctioncoefficient KCN and having engine state flag IS values of five couldalso be determined by effecting a linear interpolation of the twopreceding current hot correction coefficients KCO (preceding in theincreasing load value direction) located in the same column and havingengine state flag IS values of other than five.

Block 240 then goes on to a block 250, in which third calculating block34 determines, from among possible-update hot correction coefficientsKCP1, KCP2, actual-update hot correction coefficients KCE on the basisof a conditioning function ensuring development of hot correction map 40according to a predetermined criterion.

More specifically, the conditioning function uses update state flags IAof possible-update coefficients KCP1, KCP2, and is defined by thefollowing rules:

a) hot correction coefficients which have been updated directly, asopposed to via propagation, i.e. hot correction coefficients KC relativeto update state flags IA of values greater than or equal to one, areonly updated further directly, and not by propagation of other updates;and

b) propagation of an update must not alter the “form” of hot correctionmap 40 about the updated hot correction coefficient KCN determined inblock 150, i.e. propagation must not alter the existing relationshipbetween the updated hot correction coefficient KCN and possible-updatehot correction coefficients KCP1, KCP2.

More specifically, as regards rule b), for each possible-update hotcorrection coefficient KCP1, KCP2:

if the updated correction coefficient KCN is greater than thepossible-update hot correction coefficient KCP1, KCP2 and propagationwould increase the difference between the two even further, thenpropagation is not effected towards the possible-update hot correctioncoefficient KCP1, KCP2; and

if propagation—should invert the existing relationship between theupdated correction coefficient KCN and the possible-update correctioncoefficient KCP1, KCP2 (i.e. if the updated correction coefficient KCNis greater than the possible-update hot correction coefficient KCP1,KCP2, and propagation would result in an updated hot correctioncoefficient KCN which is less than possible-updated correctioncoefficient KCP1, KCP2, or vice versa), then the possible-updatecorrection coefficient KCP1, KCP2 is made equal to the updated hotcorrection coefficient KCN.

Block 250 then goes on to a block 260, in which third calculating block34 updates and memorizes hot correction map 40 in memory block 36, byreplacing the memorized actual-update hot correction coefficients KCEwith the respective substitute hot correction coefficients KCM1, KCM2,KCM3, KCM4 determined in blocks 230 and 240.

Block 260 then goes on to a block 270, in which third calculating block34 updates and memorizes update state map 46 in memory block 36according to the updates made in block 260 and the update criteriondescribed below with reference to the state diagram in FIG. 7.

Updating terminates once update state map 46 has been updated, andrecommences upon the conditions described above with reference to block100 being determined once more.

For the sake of simplicity, updating of update state map 46 is describedbelow with reference to only one update state flag.

To begin with, all the update state flags IA of update state map 46assume a zero value (IA=0) indicating the relative current hotcorrection coefficients KCO have never been updated, as, for example, atthe initial calibration stage of engine 4.

As shown in FIG. 7, from state IA=0 (block 300), IA assumes a value of 2(block 310) when the first update is made to the relative current hotcorrection coefficient KCO, and this value is maintained as long as therelative current hot correction coefficient KCO is updated in thepresence of condition |1−VM|>R.

As of state IA=2 (block 310), IA assumes a value of 4 (block 320) if thecurrent hot correction coefficient KCO is updated in the presence ofcondition |1−VM|<R, or assumes a zero value (block 300) if engine 4 isturned off.

As of state IA=4, IA assumes a value of 1 (block 330) if the engine isturned off.

As of state IA=1 (block 330), IA assumes a value of 2 (block 310) if thecurrent hot correction coefficient KCO is updated in the presence ofcondition |1−VM|>R, or assumes a value of 3 (block 340) if the currenthot correction coefficient KCO is updated in the presence of condition|1−VM|<R.

As of state IA=3 (block 340), IA assumes a value of 2 (block 310) if thecurrent hot correction coefficient KCO is updated in the presence ofcondition |1−VM|>R, assumes a value of 4 (block 320) if the current hotcorrection coefficient KCO is updated in the presence of condition|1−VM|<R, or assumes a value of 1 (block 330) if engine 4 is turned off.

The advantages of the self-adapting control method according to thepresent invention will be clear from the foregoing description.

In particular, including a hot correction coefficient KC and coldcorrection coefficient KF in the fuel quantity computing chain, usingthe ratio information supplied by stoichiometric composition sensor 12,provides for compensating for production differences and ageing ofengine 4 and injection system 2 by attributing the whole correction tothe quantity of fuel injected as opposed to the actuation characteristicof the injectors.

As a result, compared with known control systems, the ratio is adaptedmuch faster, by the update propagation procedure described abovepermitting updating of the hot and cold correction maps with far fewerdirect updates of hot and cold correction coefficients KC, KF than thoserequired in known ratio control systems to estimate the gain and offsetof the injector actuation characteristic.

Moreover, the ratio control method according to the present inventionprovides for compensating, not only for linear errors due to productionvibrations and ageing of the engine and injection system, but also fornonlinear errors, thus providing for more effective ratio correction.

Clearly, changes may be made to the control method as described andillustrated herein without, however, departing from the scope of thepresent invention.

What is claimed is:
 1. A self-adapting method for controlling themixture ratio of an injection system (2), of an internal combustionengine (4), comprising a number of injectors (18), each for injecting arespective operating quantity (QF) of fuel at each engine cycle; and astoichiometric composition sensor (12) generating a composition signal(V) related to the stoichiometric composition of the exhaust gasesproduced by said engine (4); in each operating state of the engine (4)and for each said injector (18), said method comprising the steps of: a)determining a nominal quantity (QA) of fuel to be injected; b)determining an operating parameter (KO2) as a function of saidcomposition signal (V) and of a proportional-integral regulatingfunction; c) determining a current hot correction coefficient (KCO)indicating a correction to be made to said nominal quantity (QA) of fuelto take into account the effect on injection of deviation of said engine(4) and said injection system (2) from nominal values thereof upon theengine (4) reaching normal operating temperatures; and d) determiningsaid operating quantity (QF) of fuel to be injected as a function ofsaid nominal quantity (QA), of said operating parameter (KO2), and ofsaid current hot correction coefficient (KCO).
 2. A method as claimed inclaim 1, for an injection system controlled by a central control unit(20) in which is memorized a hot correction map (40) containing arespective said current hot correction coefficient (KCO) for eachoperating state of the engine (4) defined by a respective pair of valuesof the speed (N) and load (L) of the engine (4); comprising the step of:e) updating said hot correction map (40) for each operating state basedon said respective pair of values.
 3. A method as claimed in claim 2,wherein said step e) comprises, for an operating state of the engine(4), the step of: e1) updating the current hot correction coefficient(KCO) relative to said operating state of the engine (4) as a functionof a number of values assumed by said operating parameter (KO2) inpreceding engine cycles.
 4. A method as claimed in claim 3, wherein saidstep e1) comprises the step of updating the current hot correctioncoefficient (KCO) relative to said operating state of the engine (4) asa function of a quantity related to a mean value of said number ofvalues assumed by said operating parameter (KO2).
 5. A method as claimedin claim 3, wherein said step e1) comprises the steps of: e11)determining an updated hot correction coefficient (KCN) as a function ofthe current hot correction coefficient (KCO) memorized in said hotcorrection map (40) and relative to said operating state of the engine(4), and of said quantity, related to the mean value of said operatingparameter (KO2); and e12) memorizing said updated hot correctioncoefficient (KCN) in said hot correction map (40) in place of saidcurrent hot correction coefficient (KCO).
 6. A method as claimed inclaim 5, wherein said step e) also comprises, for an operating state ofsaid engine (4), the step of: e2) propagating the update made in saidstep e1) to further current hot correction coefficients (KCO) memorizedin said hot correction map (40).
 7. A method as claimed in claim 6,wherein said step e2) comprises the steps of: e21) determiningpossible-update hot correction coefficients (KCP1, KCP2) in said hotcorrection map (40); e22) determining propagation coefficients (KPN,KPL, KPO) indicating the extent by which the update of said updated hotcorrection coefficient (KCN) is propagated to said possible-update hotcorrection coefficients (KCP1, KCP2); e23) determining a respectivesubstitute hot correction coefficient (KCM3, KCM4) for each of thepossible-update hot correction coefficients (KCP1, KCP2); and e24)updating said hot correction map (40) as a function of said substitutehot correction coefficients (KCM3, KCM4).
 8. A method as claimed inclaim 7, wherein said step e21) comprises the step of: e211)determining, from the current hot correction coefficients (KCO)memorized in said hot correction map (40), first possible-update hotcorrection coefficients (KCP1) located at a distance of one from saidupdated hot correction coefficient (KCN) and defining a first frame ofhot correction coefficients about said updated hot correctioncoefficient (KCN).
 9. A method as claimed in claim 8, wherein said stepe21) also comprises the step of: e212) determining, from the current hotcorrection coefficients (KCO) memorized in said hot correction map (40),second possible-update hot correction coefficients (KCP2) located at adistance of two from said updated hot correction coefficient (KCN) anddefining a second frame of hot correction coefficients about said firstframe.
 10. A method as claimed in claim 7, wherein said step e24)comprises the step of: e241) determining, from said possible-update hotcorrection coefficients (KCP1, KCP2), actual-update hot correctioncoefficients (KCE) on the basis of a conditioning function ensuringdevelopment of said hot correction map (40) according to a predetermineddevelopment criterion.
 11. A method as claimed in claim 10, wherein saiddevelopment criterion is defined by the following conditions: currenthot correction coefficients (KCO) which have been updated directly, asopposed to via propagation, are only updated further directly, and notby propagation of other updates; and propagation of an update must notalter the existing relationship between the updated hot correctioncoefficient (KCN) and the possible-update hot correction coefficients(KCP1, KCP2).
 12. A method as claimed in claim 2, also comprising thestep of performing said step e) in predetermined operating conditions ofsaid engine (4) and said injection system (2).
 13. A method as claimedin claim 1, also comprising the step of: f) determining a current coldcorrection coefficient (KFO) indicating a correction to be made to saidnominal quantity (QA) of fuel to be injected, to take into account theeffect of low temperatures on injection; and, in said step c), saidoperating quantity (QF) of fuel is also determined as a function of saidcurrent cold correction coefficient (KFO).
 14. A method as claimed inclaim 13, for an injection system controlled by a central control unit(20) in which is memorized a cold correction map (42) containing arespective said current cold correction coefficient (KFO) for eachoperating state of the engine (4) defined by a respective pair of valuesof a cooling water temperature (THO2) and the pressure (PC) in an intakemanifold (14) of the engine (4); also comprising the step of: g)updating said cold correction map (42).
 15. A method as claimed in claim14, wherein said step g) comprises, for an operating state of the engine(4), the step of: g1) updating the current cold correction coefficient(KFO) relative to said operating state of the engine (4) as a functionof a number of values assumed by said operating parameter (KO2).
 16. Amethod as claimed in claim 15, wherein said step g1) comprises the stepof updating the current cold correction coefficient (KFO) relative tosaid operating state of the engine (4) as a function of the mean valueof the values assumed by said operating parameter (KO2) in apredetermined time window.
 17. A method as claimed in claim 15, whereinsaid step g1) comprises the steps of: g11) determining an updated coldcorrection coefficient (KFN) as a function of the current coldcorrection coefficient (KFO) memorized in said cold correction map (42)and relative to said operating state of the engine (4), and of saidquantity related to the mean value of said operating parameter (KO2);and g12) memorizing said updated cold correction coefficient (KFN) insaid cold correction map (42) in place of said current cold correctioncoefficient (KFO).
 18. In a self-adapting method for controlling anair/fuel mixture of a fuel injection system of an internal combustionengine having a number of injectors, each for injecting a respectiveoperating quantity of fuel during each engine cycle; and astoichiometric composition sensor generating a composition signalrelated to the stoichiometric composition of the exhaust gases producedby said engine; and wherein in each operating state of the engine andfor each said injector, a nominal quantity of fuel to be injected isdetermined from said composition signal and a program related theretoand an operating parameter acts on said nominal quantity of fuel to beinjected, the improvement for compensating for differences in propertiesof the engine and the injection system due to production and ageingthereof, comprising the steps of determining hot and cold currentcorrection coefficients, selectively applying said hot and cold currentcorrection signals to said operating parameter, depending on enginetemperature, to obtain an operating quantity of fuel to be injected bysaid fuel injectors, correlated for the respective engine and injectionsystem, and updating said current hot and cold correction coefficientsby correction maps stored in a memory and supplied by respective pairsof parameters related to the operation state of the engine saidcorrection maps including first and second electronic maps forrespectively producing said current hot and cold correction coefficientsdepending on operation states of the engine, a third electronic mapindicating engine state for operating states of the engine, a fourthelectronic map providing update states for operating states of theengine, and a fifth electronic map providing a number of transitioncoefficients as a function of engine state provided by the thirdelectronic map, said electronic maps being defined by two dimensionalmatrixes each having the same number of rows and columns, the first,third and fourth electronic maps relating parameters of engine speed andload, the second and fifth electronic maps relating parameters ofcoolant temperature and intake manifold air pressure, and achieving saidupdating of the current hot and cold correction coefficients from thethird, fourth and fifth electronic maps as said third, fourth and fifthelectronic maps are updated by the state of engine operation.
 19. Themethod as claimed in claim 18, comprising updating the first and secondelectronic maps by continually measuring the updated correctioncoefficients therein.